#ifndef LANGUAGES_H_
#define LANGUAGES_H_

#define LP_MAX_WORD 32
#define LP_WORD(word) lang_pack_current[word]

enum LanguageID {
	LANG_ENGLISH,
	LANG_GERMAN,
	LANG_FRENCH,
	LANG_DUTCH,
	LANG_DANISH,
	LANG_FINNISH,
	LANG_ITALIAN,
	LANG_NORWEGIAN,
	LANG_SWEDISH,
	LANG_SPANISH,
	LANG_RUSSIAN,
	LANG_SIMPLIFIED_CHINESE,
	LANG_TRADITIONAL_CHANISE,
	LANG_KOREAN,
	LANG_JAPANESE,
	LANG_POLISH,
	LANG_COUNT,
	LANG_FIRST = 0,
	LANG_LAST  = LANG_COUNT - 1
};

enum WordID {
	L_FREE_SPACE,		// 12 chars max
	L_RELEASE_COUNT,	// 12 chars max
	L_YES,
	L_NO,
	L_2S,			// 2s (two seconds)
	L_OFF,
	L_ENABLED,
	L_DISABLED,
	L_EXT_ONLY,
	L_ONE_SHOT,
	L_EXT_AEB,
	L_INTERVAL,
	L_NO_LIMIT,

	L_RENAME,

	L_DEVELOPER,
	L_ENTER_FACTORY_MODE,	// 18 chars max
	L_EXIT_FACTORY_MODE,	// 18 chars max
	L_START_DEBUG_MODE,	// 18 chars max

	L_LOAD_PRESETS,
	L_SAVE_PRESETS,

	L_PRESET_1,
	L_PRESET_2,
	L_PRESET_3,
	L_PRESET_4,
	L_PRESET_5,

	L_SETTINGS,
	L_DELAY,
	L_ACTION,
	L_REPEAT,
	L_INSTANT,
	L_FRAMES,
	L_STEP_EV,
	L_MANUAL_L,
	L_MANUAL_R,
	L_TIME_S,
	L_EAEB,
	L_SHOTS,
	L_AV_COMP,
	L_FLASH_COMP,
	L_AEB,
	L_ISO_IN_VF,
	L_SHORTCUTS_MENU,
	L_SAFETY_SHIFT,
	L_COLOR_TEMP_K,
	L_USE_FLASH,
	L_HANDWAVE,
	L_TIMER_SPACES,
	L_IR_REMOTE_DELAY,
	L_DEVELOPERS_MENU,

	L_SCRIPTS_SPACES,
	L_DIM_LCD_DOWN,
	L_KEEP_POWER_ON,

	L_SHORTCUTS,
	L_ISO,
	L_EXTENDED_AEB,
	L_INTERVALOMETER,
	L_HAND_WAVING,
	L_SELF_TIMER,
	L_AF_FLASH,
	L_MIRROR_LOCKUP,
	L_FLASH_2ND_CURT,

	L_PRESETS_SPACES,
	L_PRESETS_ADEP,
	L_PRESETS_CAMERA,
	L_PRESETS_400PLUS,
	L_PRESETS_SETTINGS,
	L_PRESETS_IMAGE,
	L_PRESETS_CFN,

	L_COUNT,
	L_FIRST = 0,
	L_LAST  = L_COUNT - 1
};

extern const char *lang_packs[LANG_COUNT][L_COUNT];
extern       char  lang_pack_current[L_COUNT][LP_MAX_WORD];

extern void lang_pack_config();

#endif // LANGUAGES_H_
